package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备对象 device
 * 
 * @author ruoyi
 * @date 2024-12-26
 */
public class Device extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 设备ID */
    private Long deviceId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private String type;

    /** 设备状态 */
    @Excel(name = "设备状态")
    private String state;

    /** 架构 */
    @Excel(name = "架构")
    private String architecture;

    /** 设备ip地址 */
    @Excel(name = "设备ip地址")
    private String ip;

    /** 可容纳容器个数 */
    @Excel(name = "可容纳容器个数")
    private Long dockerNum;

    /**  */
    @Excel(name = "是否可用")
    private Long available;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gmtCreate;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gmtModify;

    public void setDeviceId(Long deviceId) 
    {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() 
    {
        return deviceId;
    }

    public void setDeviceName(String deviceName) 
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName() 
    {
        return deviceName;
    }

    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }

    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }

    public void setArchitecture(String architecture) 
    {
        this.architecture = architecture;
    }

    public String getArchitecture() 
    {
        return architecture;
    }

    public void setIp(String ip) 
    {
        this.ip = ip;
    }

    public String getIp() 
    {
        return ip;
    }

    public void setDockerNum(Long dockerNum) 
    {
        this.dockerNum = dockerNum;
    }

    public Long getDockerNum() 
    {
        return dockerNum;
    }

    public void setAvailable(Long available) 
    {
        this.available = available;
    }

    public Long getAvailable() 
    {
        return available;
    }

    public void setGmtCreate(Date gmtCreate) 
    {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtCreate() 
    {
        return gmtCreate;
    }

    public void setGmtModify(Date gmtModify) 
    {
        this.gmtModify = gmtModify;
    }

    public Date getGmtModify() 
    {
        return gmtModify;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deviceId", getDeviceId())
            .append("deviceName", getDeviceName())
            .append("type", getType())
            .append("state", getState())
            .append("architecture", getArchitecture())
            .append("ip", getIp())
            .append("dockerNum", getDockerNum())
            .append("available", getAvailable())
            .append("gmtCreate", getGmtCreate())
            .append("gmtModify", getGmtModify())
            .toString();
    }
}
